Arduino একটি অত্যন্ত জনপ্রিয় প্ল্যাটফর্ম রোবোটিক্স প্রকল্প তৈরি করার জন্য। এর সহজ প্রোগ্রামিং ভাষা এবং বিস্তৃত কমিউনিটি সাপোর্টের কারণে রোবোটিক্স শিক্ষার জন্য এটি আদর্শ। Arduino-র সাথে বিভিন্ন ধরনের রোবোটিক্স প্রকল্প তৈরি করা যায়, যা ব্যবহারকারীদের ইলেকট্রনিক্স, মেকানিক্স, এবং প্রোগ্রামিং দক্ষতা বাড়াতে সহায়তা করে।
একটি লাইন ফলোয়ার রোবট হলো এমন একটি রোবট যা সাদা এবং কালো লাইনের মধ্যে চলাচল করে। এটি ইনফ্রারেড সেন্সর ব্যবহার করে।
উপাদান:
কোডের উদাহরণ:
#define LEFT_SENSOR A0
#define RIGHT_SENSOR A1
#define LEFT_MOTOR 9
#define RIGHT_MOTOR 10
void setup() {
pinMode(LEFT_MOTOR, OUTPUT);
pinMode(RIGHT_MOTOR, OUTPUT);
}
void loop() {
int leftValue = analogRead(LEFT_SENSOR);
int rightValue = analogRead(RIGHT_SENSOR);
if (leftValue < 500 && rightValue < 500) {
// move forward
digitalWrite(LEFT_MOTOR, HIGH);
digitalWrite(RIGHT_MOTOR, HIGH);
} else if (leftValue > 500) {
// turn right
digitalWrite(LEFT_MOTOR, HIGH);
digitalWrite(RIGHT_MOTOR, LOW);
} else if (rightValue > 500) {
// turn left
digitalWrite(LEFT_MOTOR, LOW);
digitalWrite(RIGHT_MOTOR, HIGH);
}
}
একটি রিমোট কন্ট্রোল রোবট হলো এমন একটি রোবট যা রিমোটের মাধ্যমে নিয়ন্ত্রণ করা যায়। এটি RF বা Bluetooth প্রযুক্তি ব্যবহার করে।
উপাদান:
কোডের উদাহরণ:
#include <AFMotor.h>
AF_DCMotor motor1(1); // motor connected to port 1
AF_DCMotor motor2(2); // motor connected to port 2
void setup() {
Serial.begin(9600); // Serial communication for Bluetooth
}
void loop() {
if (Serial.available()) {
char command = Serial.read();
if (command == 'F') {
motor1.setSpeed(200);
motor1.run(FORWARD);
motor2.setSpeed(200);
motor2.run(FORWARD);
} else if (command == 'B') {
motor1.setSpeed(200);
motor1.run(BACKWARD);
motor2.setSpeed(200);
motor2.run(BACKWARD);
} else if (command == 'S') {
motor1.run(RELEASE);
motor2.run(RELEASE);
}
}
}
অটোনোমাস রোবট স্বয়ংক্রিয়ভাবে কাজ করতে সক্ষম। এটি বিভিন্ন সেন্সর যেমন আলট্রাসনিক সেন্সর এবং লাইন ফলোয়ার সেন্সর ব্যবহার করে।
উপাদান:
কোডের উদাহরণ:
#include <NewPing.h>
#define TRIG_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50); // Wait 50ms between pings
unsigned int distance = sonar.ping_cm(); // Read distance in cm
Serial.print("Distance: ");
Serial.println(distance);
if (distance < 10) {
// obstacle detected, take action
}
}
Arduino রোবোটিক্স প্রকল্পগুলি দ্রুত জনপ্রিয়তা পাচ্ছে, কারণ এটি শিক্ষার্থীদের এবং উত্সাহী প্রযুক্তিবিদদের জন্য সৃজনশীল প্রকল্প তৈরি করতে সহায়তা করে। IoT এবং AI এর সাথে সংযুক্ত হয়ে রোবোটিক্স ভবিষ্যতে আরও উন্নত হবে।
Arduino-র সাথে রোবোটিক্স প্রকল্প তৈরি করে আপনি প্রযুক্তির বিভিন্ন দিক শিখতে পারেন এবং নিজের হাতে প্রকল্পের কার্যকরীতা পরীক্ষা করতে পারেন। এটি নতুন প্রযুক্তি এবং দক্ষতা অর্জনের একটি উত্তেজনাপূর্ণ উপায়।
Line Follower Robot একটি স্বয়ংক্রিয় রোবট যা একটি নির্দিষ্ট লাইনে চলার জন্য ডিজাইন করা হয়। এটি সাধারণত একটি কালো লাইনের উপর চলতে পারে এবং লাইন থেকে বিচ্যুত হলে পুনরায় লাইনে ফিরে আসে। এই প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্স শেখার জন্য একটি জনপ্রিয় উদাহরণ।
IR Sensor Pin | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
Output | 2 |
Output | 3 |
Motor Driver Pin | Arduino Pin |
---|---|
IN1 | 4 |
IN2 | 5 |
IN3 | 6 |
IN4 | 7 |
নিচে একটি সাধারণ কোড উদাহরণ দেওয়া হলো যা লাইন ফলোয়ার রোবটের কার্যকারিতা নির্ধারণ করে:
#define LEFT_SENSOR 2
#define RIGHT_SENSOR 3
#define MOTOR_A_FORWARD 4
#define MOTOR_A_BACK 5
#define MOTOR_B_FORWARD 6
#define MOTOR_B_BACK 7
void setup() {
pinMode(LEFT_SENSOR, INPUT);
pinMode(RIGHT_SENSOR, INPUT);
pinMode(MOTOR_A_FORWARD, OUTPUT);
pinMode(MOTOR_A_BACK, OUTPUT);
pinMode(MOTOR_B_FORWARD, OUTPUT);
pinMode(MOTOR_B_BACK, OUTPUT);
}
void loop() {
int leftState = digitalRead(LEFT_SENSOR);
int rightState = digitalRead(RIGHT_SENSOR);
if (leftState == HIGH && rightState == HIGH) {
// Move forward
digitalWrite(MOTOR_A_FORWARD, HIGH);
digitalWrite(MOTOR_B_FORWARD, HIGH);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
} else if (leftState == LOW && rightState == HIGH) {
// Turn right
digitalWrite(MOTOR_A_FORWARD, HIGH);
digitalWrite(MOTOR_B_FORWARD, LOW);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
} else if (leftState == HIGH && rightState == LOW) {
// Turn left
digitalWrite(MOTOR_A_FORWARD, LOW);
digitalWrite(MOTOR_B_FORWARD, HIGH);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
} else {
// Stop
digitalWrite(MOTOR_A_FORWARD, LOW);
digitalWrite(MOTOR_B_FORWARD, LOW);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
}
}
লাইন ফলোয়ার রোবট তৈরি করা একটি চমৎকার প্রকল্প যা Arduino এবং ইলেকট্রনিক্স শেখার জন্য কার্যকরী। এটি বেসিক সেন্সর, মোটর নিয়ন্ত্রণ এবং প্রোগ্রামিং দক্ষতা উন্নত করতে সাহায্য করে।
Obstacle Avoiding Robot একটি জনপ্রিয় প্রকল্প যা Arduino এবং বিভিন্ন সেন্সর ব্যবহার করে তৈরি করা হয়। এই রোবটটি একটি অটো-পাইলট সিস্টেমের মাধ্যমে বাধা এড়িয়ে চলতে সক্ষম। এটি রোবটিক্স এবং ইলেকট্রনিক্সের একটি বাস্তব উদাহরণ যা বিভিন্ন প্রযুক্তি একত্রিত করে।
নিচে একটি কোড উদাহরণ দেওয়া হলো যা Ultrasonic Sensor ব্যবহার করে বাধা শনাক্ত করে এবং রোবটটিকে সঠিকভাবে পরিচালনা করে।
#include <NewPing.h>
#define TRIG_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 200
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
#define MOTOR_A_IN1 3
#define MOTOR_A_IN2 4
#define MOTOR_B_IN1 5
#define MOTOR_B_IN2 6
void setup() {
pinMode(MOTOR_A_IN1, OUTPUT);
pinMode(MOTOR_A_IN2, OUTPUT);
pinMode(MOTOR_B_IN1, OUTPUT);
pinMode(MOTOR_B_IN2, OUTPUT);
}
void loop() {
delay(50); // সেন্সর ডেটার জন্য অপেক্ষা
unsigned int distance = sonar.ping_cm(); // দূরত্ব পরিমাপ করা
if (distance < 15 && distance > 0) { // যদি বাধা ১৫ সেন্টিমিটারের মধ্যে হয়
// রোবট পিছনে যাবে
moveBackward();
delay(500); // ৫০০ মিলিসেকেন্ড
turnLeft(); // বাঁ দিকে ঘুরবে
} else {
moveForward(); // বাধা না থাকলে সামনে চলবে
}
}
void moveForward() {
digitalWrite(MOTOR_A_IN1, HIGH);
digitalWrite(MOTOR_A_IN2, LOW);
digitalWrite(MOTOR_B_IN1, HIGH);
digitalWrite(MOTOR_B_IN2, LOW);
}
void moveBackward() {
digitalWrite(MOTOR_A_IN1, LOW);
digitalWrite(MOTOR_A_IN2, HIGH);
digitalWrite(MOTOR_B_IN1, LOW);
digitalWrite(MOTOR_B_IN2, HIGH);
}
void turnLeft() {
digitalWrite(MOTOR_A_IN1, LOW);
digitalWrite(MOTOR_A_IN2, HIGH);
digitalWrite(MOTOR_B_IN1, HIGH);
digitalWrite(MOTOR_B_IN2, LOW);
}
void turnRight() {
digitalWrite(MOTOR_A_IN1, HIGH);
digitalWrite(MOTOR_A_IN2, LOW);
digitalWrite(MOTOR_B_IN1, LOW);
digitalWrite(MOTOR_B_IN2, HIGH);
}
NewPing
লাইব্রেরি ব্যবহার করে রোবটের সামনে অবস্থিত বাধার দূরত্ব পরিমাপ করা হয়।moveForward()
, moveBackward()
, turnLeft()
, এবং turnRight()
.Obstacle Avoiding Robot প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্সের একটি বাস্তব উদাহরণ। এটি সেন্সর ডেটা ব্যবহার করে রোবটের কার্যক্রম পরিচালনা করতে শেখায় এবং মৌলিক প্রোগ্রামিং ধারণার প্রয়োগ করে।
Bluetooth Controlled Robot হলো একটি মজাদার এবং শিক্ষামূলক প্রকল্প যা Arduino বোর্ড এবং Bluetooth মডিউল ব্যবহার করে তৈরি করা হয়। এই প্রজেক্টের মাধ্যমে আপনি আপনার মোবাইল ফোন বা অন্য কোনো ব্লুটুথ ডিভাইস ব্যবহার করে একটি রোবট নিয়ন্ত্রণ করতে পারবেন।
নিচে একটি কোড উদাহরণ দেওয়া হলো যা একটি ব্লুটুথ ডিভাইস থেকে ইনপুট নিয়ে মোটরের দিক নিয়ন্ত্রণ করবে।
char command; // ব্লুটুথ ইনপুট সংরক্ষণ করার জন্য
void setup() {
Serial.begin(9600); // Bluetooth এর জন্য সিরিয়াল কমিউনিকেশন শুরু
pinMode(7, OUTPUT); // মোটর পিন
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
command = Serial.read(); // Bluetooth থেকে কমান্ড পড়া
if (command == 'F') { // সামনে চলা
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
digitalWrite(4, LOW);
}
else if (command == 'B') { // পেছনে চলা
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
digitalWrite(4, HIGH);
}
else if (command == 'L') { // বাম দিকে ঘুরা
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(4, LOW);
}
else if (command == 'R') { // ডান দিকে ঘুরা
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(4, HIGH);
}
else if (command == 'S') { // থামা
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
}
}
}
Serial.begin(9600)
: Bluetooth মডিউলের সাথে সিরিয়াল কমিউনিকেশন শুরু করা।Serial.read()
: Bluetooth ডিভাইস থেকে ইনপুট পড়া।digitalWrite()
: মোটরের পিনগুলোর অবস্থান নির্ধারণ করা, যাতে মোটরের দিক নিয়ন্ত্রণ করা যায়।1234
বা 0000
)।এই Bluetooth Controlled Robot প্রজেক্টটি আপনার Arduino দক্ষতাকে বাড়াতে এবং ব্লুটুথ কমিউনিকেশনের ধারণা স্পষ্ট করতে সহায়ক।
Gesture Controlled Robot একটি আকর্ষণীয় এবং প্রযুক্তিগত প্রোজেক্ট যা ইউজারের হাতের ইশারার মাধ্যমে একটি রোবটকে নিয়ন্ত্রণ করতে সক্ষম। এই প্রকল্পে সাধারণত Accelerometer বা Gyroscope সেন্সর ব্যবহার করা হয়, যা রোবটের চলাচল নির্দেশ করে। Arduino বোর্ডের সাহায্যে এই প্রকল্পটি তৈরি করা হয়।
MPU6050 ব্যবহার করে রোবটের নিয়ন্ত্রণের জন্য নিচের কোডটি দেওয়া হলো:
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
// Motor Driver Pins
const int motorA1 = 8;
const int motorA2 = 9;
const int motorB1 = 10;
const int motorB2 = 11;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
}
void loop() {
// MPU6050 থেকে ডেটা পড়া
int16_t ax, ay, az;
mpu.getAcceleration(&ax, &ay, &az);
// হাতের ইশারা অনুযায়ী রোবট নিয়ন্ত্রণ
if (ay > 20000) { // সামনে ইশারা
forward();
} else if (ay < -20000) { // পিছনে ইশারা
backward();
} else if (ax > 20000) { // ডানে ইশারা
turnRight();
} else if (ax < -20000) { // বামে ইশারা
turnLeft();
} else { // কোনো নির্দেশনা নেই
stop();
}
delay(100);
}
void forward() {
digitalWrite(motorA1, HIGH);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, HIGH);
digitalWrite(motorB2, LOW);
}
void backward() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, HIGH);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, HIGH);
}
void turnRight() {
digitalWrite(motorA1, HIGH);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, LOW);
}
void turnLeft() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, HIGH);
digitalWrite(motorB2, LOW);
}
void stop() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, LOW);
}
এই প্রকল্পটি আপনাকে IoT এবং রোবটিক্সের মৌলিক ধারণা দিতে পারে, এবং এটি আপনার হাতে কাজ করার দক্ষতা বৃদ্ধি করবে। Gesture Controlled Robot একটি চিত্তাকর্ষক প্রকল্প, যা বাস্তব সময়ে আপনার হাতের ইশারার উপর ভিত্তি করে রোবটের চলাচল নিয়ন্ত্রণ করতে সক্ষম।
common.read_more